Example
আপনার নিজস্ব Vue সার্ভার পান
শর্তটি 'সত্য' হলে একটি <div> উপাদান তৈরি করতে v-else-if নির্দেশ ব্যবহার করে।
<div v-if="word === 'apple'">
<img src="/img_apple.svg" alt="apple" />
<p>The value of the 'word' property is 'apple'.</p>
</div>
<div v-else-if="word === 'pizza'">
<img src="/img_pizza.svg" alt="pizza" />
<p>The value of the 'word' property is 'pizza'</p>
</div>
নীচে আরো উদাহরণ দেখুন.
Definition and Usage
v-else-if নির্দেশটি শর্তসাপেক্ষে একটি উপাদান ফেরত দিতে ব্যবহৃত হয়।
v-else-if নির্দেশিকা শুধুমাত্র v-if সম্বলিত একটি উপাদানের পরে বা v-else-if ধারণকারী অন্য একটি উপাদানের পরে ব্যবহার করা যেতে পারে।
যখন v-else-if একটি উপাদানে ব্যবহার করা হয়, তখন এটি অবশ্যই একটি অভিব্যক্তি অনুসরণ করবে:
- অভিব্যক্তিটি 'সত্য' হিসাবে মূল্যায়ন করলে, উপাদান এবং এর সমস্ত বিষয়বস্তু DOM-এ তৈরি হয়।
- অভিব্যক্তিটি 'মিথ্যা' হিসাবে মূল্যায়ন করলে উপাদানটি ধ্বংস হয়ে যায়।
যখন v-else-if ব্যবহার করে একটি উপাদান পরিবর্তন করা হয়:
- আপনি বিল্ট-ইন <Transition> উপাদানটি ব্যবহার করতে পারেন যখন উপাদানটি প্রবেশ করে এবং DOM ছেড়ে চলে যায়।
- লাইফসাইকেল হুক যেমন 'মাউন্ট করা' এবং 'আনমাউন্ট করা' ট্রিগার করা হবে।
Directives for Conditional Rendering
এই ওভারভিউ বর্ণনা করে যে কিভাবে শর্তসাপেক্ষ রেন্ডারিংয়ের জন্য ব্যবহৃত বিভিন্ন Vue নির্দেশাবলী একসাথে ব্যবহার করা হয়।
| Directive | বিস্তারিত |
|---|---|
| v-if | একা ব্যবহার করা যেতে পারে, অথবা v-else-if এবং/অথবা v-else এর সাথে। যদি v-if-এর ভিতরের শর্তটি 'সত্য' হয়, তাহলে v-else-if বা v-else বিবেচনা করা হবে না। |
| v-else-if | v-if বা অন্য v-else-if এর পরে ব্যবহার করতে হবে। যদি v-else-if-এর ভিতরের শর্তটি 'true' হয়, তাহলে পরবর্তী v-else-if বা v-else বিবেচনা করা হয় না। |
| v-else | যদি ইফ-স্টেটমেন্টের প্রথম অংশটি মিথ্যা হয় তবে এই অংশটি কার্যকর হবে। if-স্টেটমেন্টের একেবারে শেষে v-if এবং v-else-if-এর পরে স্থাপন করা উচিত। |
More Examples
Example 1
গুদামে শুধুমাত্র 1, 2 বা 3টি টাইপরাইটার অবশিষ্ট থাকলে "খুব কম বাকি!" লিখতে v-else-if ব্যবহার করে
<p v-if="typewriterCount>3">
In stock
</p>
<p v-else-if="typewriterCount>0">
Very few left!
</p>
<p v-else>
Not in stock
</p>
Example 2
বাক্যটিতে 'বুরিটো' থাকলে একটি নির্দিষ্ট পাঠ্য এবং চিত্র প্রদর্শন করতে v-else-if ব্যবহার করা।
<div id="app">
<div v-if="text.includes('pizza')">
<p>The text includes the word 'pizza'</p>
<img src="img_pizza.svg">
</div>
<div v-else-if="text.includes('burrito')">
<p>The text includes the word 'burrito', but not 'pizza'</p>
<img src="img_burrito.svg">
</div>
<p v-else>The words 'pizza' or 'burrito' are not found in the text</p>
</div>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
const app = Vue.createApp({
data() {
return {
text: 'I like taco, pizza, Thai beef salad, pho soup and tagine.'
}
}
})
app.mount('#app')
</script>
Example 3
ছবি ফ্লিপ করতে v-else-if চেইন ব্যবহার করে, অ্যানিমেশন তৈরি করতে <Transition> উপাদান ব্যবহার করে।
App.vue:
<template>
<h1>mode="out-in"</h1>
<p>Click the button to get a new image.</p>
<p>With mode="out-in", the next image is not added until the current image is removed. Another difference from the previous example, is that here we use computed prop instead of a method.</p>
<button @click="indexNbr++">Next image</button><br>
<Transition mode="out-in">
<img src="/img_pizza.svg" v-if="imgActive === 'pizza'">
<img src="/img_apple.svg" v-else-if="imgActive === 'apple'">
<img src="/img_cake.svg" v-else-if="imgActive === 'cake'">
<img src="/img_fish.svg" v-else-if="imgActive === 'fish'">
<img src="/img_rice.svg" v-else-if="imgActive === 'rice'">
</Transition>
</template>
<script>
export default {
data() {
return {
imgs: ['pizza', 'apple', 'cake', 'fish', 'rice'],
indexNbr: 0
}
},
computed: {
imgActive() {
if(this.indexNbr >= this.imgs.length) {
this.indexNbr = 0;
}
return this.imgs[this.indexNbr];
}
}
}
</script>
<style scoped>
.v-enter-active {
animation: swirlAdded 0.7s;
}
.v-leave-active {
animation: swirlAdded 0.7s reverse;
}
@keyframes swirlAdded {
from {
opacity: 0;
rotate: 0;
scale: 0.1;
}
to {
opacity: 1;
rotate: 360deg;
scale: 1;
}
}
img {
width: 100px;
margin: 20px;
}
img:hover {
cursor: pointer;
}
</style>
Exercise
প্রশিক্ষণ:
Vue.js v-else-if directive ?